//获取token
var token = CoreUtil.getData("access_token");
//地址栏转义token中的#号
var tokenQuery = token.replace("#", "%23");
var tableIns1;
var table = layui.table;
var form = layui.form;
var layer = layui.layer;
var $ = jQuery = layui.jquery;
var laydate = layui.laydate;

var defaultStatus = "3,4";

layui.use(['table', 'layer', 'laydate'], function () {
    //加载table
    tableIns1 = table.render({
        elem: '#showTable'
        , contentType: 'application/json'
        , headers: {"authorization": token}
        , page: true //开启分页
        , where: {
            status: defaultStatus
        }
        , url: '/sysStore/listByPage' //数据接口
        , method: 'POST'
        , parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
            return {
                "code": res.code, //解析接口状态
                "msg": res.msg, //解析提示文本
                "count": CoreUtil.isEmpty(res.data) ? 0 : res.data.total, //解析数据长度
                "data": CoreUtil.isEmpty(res.data) ? null : res.data.records //解析数据列表
            }
        }
        , cols: [
            [
                {type: 'checkbox', fixed: 'left'},
                {field: 'storeName', title: '门店全称', sort: true},
                {field: 'storeNames', title: '门店简称', sort: true},
                {field: 'storeMsg', title: '门店简单描述', sort: true},
                {
                    field: 'area', title: '地址', sort: true
                    , templet: function (item) {
                        // return '<a class="layui-btn layui-btn-xs" >正常</a>';
                        var html = '';
                        var province = item.province.split(',');
                        var city = item.city.split(',');
                        var area = item.area.split(',');
                        html += '<a class="layui-btn layui-btn-xs" >' + province[1] + '</a>'
                        html += '<a class="layui-btn layui-btn-xs" >' + city[1] + '</a>'
                        html += '<a class="layui-btn layui-btn-xs" >' + area[1] + '</a>'
                        return html;
                    }
                },
                {field: 'address', title: '地址', sort: true},
                // {field: 'status', title: '门店状态（1.正常2.停用 3.审核失败 4.审核中）', sort: true},
                {
                    field: 'status', title: '状态',width:100
                    ,templet: function (item) {
                        if (item.status == 1) {
                            return '<a class="layui-btn layui-btn-xs" >正常</a>';
                        }
                        if (item.status == 2) {
                            return '<a class="layui-btn layui-btn-xs layui-btn-normal" >停用</a>';
                        }
                        if (item.status == 3) {
                            return '<a class="layui-btn layui-btn-xs layui-btn-warm " >审核失败</a>';
                        }
                        if (item.status == 4) {
                            return '<a class="layui-btn layui-btn-xs" >审核中</a>';
                        }
                    }
                },

                {field: 'errorMsg', title: '审核失败描述', sort: true},
                {field: 'createTime', title: '创建时间', sort: true},
                {toolbar: "#tool", title: '操作'}
            ]
        ]
        , toolbar: '#toolbar'
    });


    //表头工具
    table.on('toolbar(showTable)', function (obj) {
        switch (obj.event) {
            case 'batchDeleted':
                var checkStatus = table.checkStatus(obj.config.id);
                var data = checkStatus.data;
                if (data.length == 0) {
                    layer.msg("请选择要批量删除的列");
                } else {
                    var ids = [];
                    $(data).each(function (index, item) {
                        ids.push(item.id);
                    });
                    tipDialog(ids);
                }
                break;
            case 'add':
                $(".table_div").hide();
                $(".operation").show();
                $(".title").html("新增");
                $(".operation input[name=id]").val("");
                $(".operation input[name=userId]").val("");
                $(".operation input[name=storeName]").val("");
                $(".operation input[name=storeNames]").val("");
                $(".operation input[name=storeMsgs]").val("");
                $(".operation input[name=storeMsg]").val("");
                $(".operation input[name=address]").val("");
                $(".operation input[name=lng]").val("");
                $(".operation input[name=mlat]").val("");
                $(".operation input[name=status]").val("");
                $(".operation input[name=errorMsg]").val("");
                $(".operation input[name=updateId]").val("");
                $(".operation input[name=createTime]").val("");
                $(".operation input[name=updateTime]").val("");
                break;
        }
        ;
    });
    //列操作
    table.on('tool(showTable)', function (obj) {
        var data = obj.data;
        switch (obj.event) {
            case 'del':
                var ids = [];
                ids.push(data.id);
                tipDialog(ids);
                break;
            case 'edit':
                $(".table_div").hide();
                $(".operation").show();
                $(".title").html("编辑");
                $(".operation input[name=id]").val(data.id);
                $(".operation input[name=userId]").val(data.userId);
                $(".operation input[name=storeName]").val(data.storeName);
                $(".operation input[name=storeNames]").val(data.storeNames);
                $(".operation input[name=storeMsgs]").val(data.storeMsgs);
                $(".operation input[name=storeMsg]").val(data.storeMsg);
                $(".operation input[name=address]").val(data.address);
                $(".operation input[name=lng]").val(data.lng);
                $(".operation input[name=mlat]").val(data.mlat);
                $(".operation input[name=status]").val(data.status);
                $(".operation input[name=errorMsg]").val(data.errorMsg);
                $(".operation input[name=updateId]").val(data.updateId);
                $(".operation input[name=createTime]").val(data.createTime);
                $(".operation input[name=updateTime]").val(data.updateTime);
                break;
            case 'pass':
                pass(data.id);
                break;
            case 'noPass':
                noPass(data.id);
                break;
        }
    });

    //导出
    $('#export').on('click', function () {
        //原先分页limit
        var exportParams = {
            limit: 10000,
            key: $("#key").val()
        };
        CoreUtil.sendPost("/sysStore/listByPage", exportParams, function (res) {
            //初始化渲染数据
            if (res.data != null && res.data.records != null) {
                table.exportFile(tableIns1.config.id, res.data.records, 'xls');
            }
        });
    });

    //删除
    var tipDialog = function (ids) {
        layer.open({
            content: "确定要删除么?",
            yes: function (index, layero) {
                layer.close(index); //如果设定了yes回调，需进行手工关闭
                CoreUtil.sendDelete("/sysStore/delete", ids, function (res) {
                    layer.msg(res.msg, {time: 1000}, function () {
                        search();
                    });
                });
            }
        });
    };
    // 通过
    var pass = function (id) {
        layer.open({
            title:'通知'
            ,content: '确认通过？'
            // , yes: function (index, layero) {
            //     layer.close(index);
            //     var url = '/sysStore/update';
            //     var data = {id: id, status: 1};
            //     CoreUtil.sendPut(url, data,
            //         function (res) {
            //             layer.msg(res.msg, {time: 1000}, function () {
            //                 search();
            //             });
            //         }
            //     );
            // }
        });
    };

    // 不通过
    var noPass = function (id) {
        layer.open({
            type:1 // noPassMsg
            , title: '不通过原因'
            , content: '' +
            '<div style="display:flex;justify-content:center;margin:0px 20px;">' +
            '<textarea id="errorMsg" style="width:300px;height:135px;" placeholder="请输入不通过原因"></textarea>' +
            '</div>'
            , btn:['提交','取消']
            , yes: function (index, layero) {
                var closeContent = top.$("#errorMsg").val() || $("#errorMsg").val();
                console.log("closeContent ", closeContent );
                layer.close(index);
                var url = '/sysStore/update';
                var data = {
                    id: id
                    , status: 3
                    , errorMsg: closeContent
                };
                CoreUtil.sendPut(
                    url
                    , data
                    , function (res) {
                        layer.msg(res.msg, {time: 1000}, function () {
                            search();
                        });
                    }
                );
            }
        });
    };


    //返回
    $("#btn_cancel").click(function () {
        $(".table_div").show();
        $(".operation").hide();
        return false;
    });

    //监听保存
    form.on('submit(submit)', function (data) {
        if (data.field.id === undefined || data.field.id === null || data.field.id === "") {
            CoreUtil.sendPost("/sysStore/add", data.field, function (res) {
                $(".table_div").show();
                $(".operation").hide();
                search();
            });
        } else {
            CoreUtil.sendPut("/sysStore/update", data.field, function (res) {
                $(".table_div").show();
                $(".operation").hide();
                search();
            });
        }

        return false;
    });
});

//执行查询
function search() {
    var check = {
        status: defaultStatus
    };
    //这里以搜索为例
    tableIns1.reload({
        //设定异步数据接口的额外参数，任意设
        where: check
        , page: {
            curr: 1 //重新从第 1 页开始
        }
    });
};